﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 数组
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[20];                //创建int型数组变量 变量名为arr  arr指向 有二十个元素的int[20]实例
            int[] arr1 = { 1, 2, 3, 4, 5 };         //创建int型数组变量 变量名为arr  arr指向 内部五个元素为1 2 3 4 5的int型的数组
            int[] arr2 = new int[5] { 1, 2, 3, 4, 5 }; //创建并直接初始化

            Random ran = new Random();      //生成随机数
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = ran.Next(1, 21);   //把arr数组中的每个元素赋值为1 - 21中的任意值
            }
            Console.WriteLine("这是排序前的数据");
            foreach (var x in arr)  //遍历arr数组中的所有元素， 赋值给var类型（匿名变量）的 x  然后打印
            {
                Console.Write(x + "  ");
            }
            Console.WriteLine("");
            Console.WriteLine("这是排序后的数据");
            Array.Sort(arr);    //排序
            foreach (var x in arr)
            {
                Console.Write(x + "  ");
            }
            Console.WriteLine("");
            int min = arr.Min();
            int max = arr.Max();
            Console.WriteLine("以上为最基础的用法");
            Program prog = new Program();     //创建Program类 的 实例。名字叫 prog
            prog.Two_arr();             //调用prog实例的 Two_arr方法
            Console.ReadKey();      //等待输入， 避免闪退


        }

        public void Two_arr()       //创建一个对外开放的  方法  名为 Two_arr
        {
            Random ran = new Random();      //生成随机数
            string[,] two = new string[3, 4];   //创建一个 3行 4 列 的 字符串数组 实例
            for (int i = 0; i < two.GetLength(0); i++) //GetLengt 获取 制定维度的 元素总和
            {
                for (int j = 0; j < two.GetLength(1); j++)  
                {
                    two[i, j] = ran.Next(1, 70).ToString(); //把随机数 转成 字符串形式 赋值给 two 字符串数组的 所有元素
                }
            }
            for (int i = 0; i < two.GetLength(0); i++) //GetLengt 获取 制定维度的 元素总和
            {
                for (int j = 0; j < two.GetLength(1); j++)
                {
                    Console.Write(two[i, j] + "  ");   //打印你的二维数组
                }
                Console.WriteLine("");  
            }
            Console.WriteLine("数组的行数:" + two.GetLength(0));
            Console.WriteLine("数组的列数:" + two.GetLength(1));
        }
    }
}
